這次我們要製作畫面底下選單
首先在Gradle裡dependenciese加上這段
dependencies {
implementation 'com.google.android.material:material:1.1.0-alpha10'
}
接著呢我們在想放上這選項列的Layout寫上我們加入的元件BottomNavigationView
<com.google.android.material.bottomnavigation.BottomNavigationView
android:id="@+id/navigation"
android:layout_width="match_parent"
android:layout_height="50dp"
android:background="#fff"
app:itemHorizontalTranslationEnabled="false"
app:labelVisibilityMode="labeled"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/fragment"
app:menu="@menu/navigation_items" />
我這裡是使用ConstraintLayout 所以會需要約束上下左右
labelVisibilityMode 決定選項列文字的顯示
labeled - 一律顯示文字
unlabeled - 一律不顯示
selected - 選到Item時顯示
app:menu="@menu/navigation_items"
需要製作裡面的選項layout
於是我們新增一個xml
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android">
<item android:title="首頁"
android:id="@+id/main"
android:icon="@drawable/ic_launcher_foreground"
/>
<item android:title="好友"
android:icon="@drawable/ic_launcher_foreground"
android:id="@+id/friend"
/>
<item android:title="新聞"
android:id="@+id/news"
android:icon="@drawable/ic_launcher_foreground"
/>
<item android:title="設定"
android:id="@+id/setting"
android:icon="@drawable/ic_launcher_foreground"
/>
</menu>
每一個Item都代表一個選項/按鈕
也可以設定它們個別的圖示(icon)